Fix pygrub to handle timeout of -1 (wait forever).
authorjohn.levon@sun.com <john.levon@sun.com>
Tue, 7 Feb 2006 20:46:13 +0000 (20:46 +0000)
committerjohn.levon@sun.com <john.levon@sun.com>
Tue, 7 Feb 2006 20:46:13 +0000 (20:46 +0000)
Only call use_default_colors() if it's available.

Signed-off-by: John Levon <john.levon@sun.com>
tools/pygrub/src/pygrub

index 5923b133b101fb359ffeca115a8233bf12334506..e0a5d31fdce649f8e315276726f1b80b13e6a74d 100644 (file)
@@ -29,7 +29,8 @@ PYGRUB_VER = 0.3
 
 def draw_window():
     stdscr = curses.initscr()
-    curses.use_default_colors()
+    if hasattr(curses, 'use_default_colors'):
+        curses.use_default_colors()
     try:
         curses.curs_set(0)
     except _curses.error:
@@ -152,15 +153,16 @@ def get_entry_idx(cf, entry):
 
 def main(cf = None):
     mytime = 0
+    timeout = int(cf.timeout)
 
     (stdscr, win) = draw_window()
     stdscr.timeout(1000)
     selected = cf.default
     
-    while (mytime < int(cf.timeout)):
-        if cf.timeout != -1 and mytime != -1: 
+    while (timeout == -1 or mytime < int(timeout)):
+        if timeout != -1 and mytime != -1: 
             stdscr.addstr(20, 5, "Will boot selected entry in %2d seconds"
-                          %(int(cf.timeout) - mytime))
+                          %(int(timeout) - mytime))
         else:
             stdscr.addstr(20, 5, " " * 80)